package com.dpp.config;

import com.wechat.pay.contrib.apache.httpclient.util.PemUtil;
import lombok.Data;
import lombok.extern.slf4j.Slf4j;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;

import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.security.PrivateKey;


@Component
@Configuration
@ConfigurationProperties(prefix = "wx.pay")
@Data
@Slf4j
public class WxInformation {
    private Boolean open;
     //小程序ID
    private String appletAppid;

    //小程序的secret
    private String  appletSecret;

    // 商户号
    private String mchId;

    // 公众号Id
    private String  publicAppid;
    // 公众号秘钥
    private String  publicAppsecret;

    // 商户API证书序列号
    private String mchSerialNo;

    // 商户私钥文件
    private String privateKeyPath;

    // APIv3密钥
    private String V3Key;

    // 微信服务器地址
    private String WxUrl;

    // 支付成功接收结果通知地址
    private String notifyUrl;

    // 退款接收结果通知地址
    private String refundNotifyUrl;

    /**
     *获取商户的私钥文件 用于签名
     * */
   public PrivateKey getPrivateKey(String privateKeyPath) {
        try {
            //加载商户私钥（privateKey：私钥文件输入流）
            return PemUtil.loadPrivateKey(new FileInputStream(privateKeyPath));
        } catch (FileNotFoundException e) {
            throw new RuntimeException("找不到商户私钥文件", e);
        }
    }

}
